The present invention relates to the field of motion control systems, and, in particular, to motion control systems operating in industrial environments.
When designing a motion control system or upgrading an existing system, system designers endeavor to select a motor having operational and performance specifications that best suit the mechanical load to be controlled. Selection of a suitable motor can depend on such factors as the horsepower of the motor, mechanical characteristics of the mechanical load driven by the motor, speed and/or precision of movement required by the industrial application, and other such factors. In general, a key criterion in selecting a suitable motor for a new or existing industrial application is the motor performance in terms of providing sufficient speed and torque to the given mechanical load in order to accomplish the specified task.
Control of the motor and, thus, movement of the mechanical load is typically provided by a command signal from a motor drive that causes power or energy to be supplied to the motor over a period of time. Accelerations and decelerations of the motor caused in response to the command signal affect the position, velocity, and jerk of the motor to control the mechanical load according to the system design. Thus, moving objects on a conveyor belt, positioning a mechanical arm, operating rotary knives, and other such industrial environment automation tasks can be performed.
Sizing and selecting motor/drive components is an important part of system design in making sure that the motor can control its mechanical load sufficiently to perform the desired task. Motion Analyzer, for example, a software tool from Rockwell Automation, Inc., may be used to assist in the sizing and selection of machine components, and RSLogix5000, for example, may be used to configure, program and execute the motion control/command signal.
If the command signal is not optimized, however, the desired industrial task may still be accomplished, but it may occur with equipment over-designed for the task and/or sized to consume more power or energy than what is required to accomplish the task. Accordingly, it would be beneficial to optimize the command signal to reduce motor performance characteristics required for the task to allow the usage of motors with a higher efficiency.
Overview
Provided herein are systems, methods, and software for improving drive efficiency in an industrial automation system. In one implementation, a system for controlling an electromechanical device using a modified movement curve in an industrial automation environment. The system comprises a mechanical load, an electromechanical device attached to the mechanical load, and a drive coupled to the electromechanical device and configured to control the electromechanical device via a command signal configured to cause the electromechanical device to mechanically operate the mechanical load to perform a task. A processor is programmed to generate an acceleration curve based on the command signal, generate a duplicate acceleration curve of the acceleration curve, generate an energy curve based on the acceleration curve, and generate a duplicate energy curve based on the energy curve. The processor is also programmed to display the acceleration curve and the duplicate acceleration curve on a display and display the energy curve and the duplicate energy curve on the display. A user input is received indicating a change to at least a portion of the duplicate acceleration curve, and the processor is programmed to calculate a change to the duplicate acceleration energy curve based on the user input, calculate a change to the duplicate energy curve based on the change to the duplicate acceleration curve, and display the change to the duplicate energy curve on the display. The processor is further programmed to generate a modified command signal based on the change to the at least a portion of the duplicate acceleration curve. The drive is further configured to control the electromechanical device via the modified command signal to mechanically operate the mechanical load perform the task.
In another implementation, a process for optimizing motor control in an industrial automation environment comprises acquiring a motor control curve configured to cause a motor to operate a mechanical load to perform a task, generating a motor acceleration curve based on the motor position curve, generating a duplicate motor acceleration curve of the motor acceleration curve, generating a motor energy curve based on the motor acceleration curve, and generating a duplicate motor energy curve based on the duplicate motor energy curve. The process further comprises displaying the motor acceleration curve, the duplicate motor acceleration curve, the motor energy curve, and the duplicate motor energy curve on a display. The process includes calculating a change to the duplicate motor acceleration curve based on a user input modifying a portion of the duplicate motor acceleration curve, calculating a change to the duplicate motor energy curve based on the change to the duplicate motor acceleration curve, and display the change to the duplicate motor energy curve on the display. The process further includes generating a modified command signal based on the change to the duplicate motor acceleration curve and controlling the motor via the modified command signal to operate the mechanical load to perform the task.
In another implementation, One or more non-transitory computer-readable storage media having program instructions stored thereon to control an electromechanical device using a modified movement curve in an industrial automation environment, wherein the program instructions, when executed by a computing system, direct the computing system to at least generate an acceleration curve based on a command signal configured to cause an electromechanical device to mechanically operate a mechanical load to perform a task, generate a duplicate acceleration curve of the acceleration curve, generate an energy curve based on the acceleration curve, and generate a duplicate energy curve based on the energy curve. The program instructions further direct the computing system to display the acceleration curve and the duplicate acceleration curve on a display and display the energy curve and the duplicate energy curve on the display. A user input is received indicating a change to at least a portion of the duplicate acceleration curve, and the program instructions further direct the computing system to calculate a change to the duplicate acceleration energy curve based on the user input, calculate a change to the duplicate energy curve based on the change to the duplicate acceleration curve, and display the change to the duplicate energy curve on the display. The program instructions further direct the computing system to generate a modified command signal based on the change to the at least a portion of the duplicate acceleration curve and to control the electromechanical device via the modified command signal to mechanically operate the mechanical load perform the task.
This Overview is provided to introduce a selection of concepts in a simplified form that are further described below in the Technical Disclosure. It should be understood that this Overview is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.